package com.zeus.base.smscenter.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zeus.base.smscenter.common.model.BaseEntity;

import java.util.Date;

public class SmsLogInfo extends BaseEntity{
    /**
     * 主键
     */
    private String id;

    /**
     * 租户标识
     */
    private String tenant;

    /**
     * 发送类型
     */
    private String sendType;

    /**
     * 内部业务记录编码
     */
    private String bizNo;

    /**
     * 发送通道
     */
    private Integer supplierChannel;

    /**
     * 应用平台,bs cs 仓配
     */
    private String appPlatform;

    /**
     * 短信金额
     */
    private Integer amount;

    /**
     * 发送通道名称
     */
    private String supplierChannelName;

    /**
     * 发送状态
     */
    private String status;

    /**
     * 记录创建时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createDate;

    /**
     * 记录更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastUpdateTime;

    /**
     * 业务类型
     */
    private String bizType;

    /**
     * 短信内容
     */
    private String content;

    /**
     * 业务处理状态  null无意义  1表示交易中心已回冲  2表示交易中心扣费完成
     */
    private String loadStatus;


    /**
     * 短信平台发送返回状态码
     */
    private String outResponseCode;


    /**
     * 短信平台发送返回状态内容
     */
    private String outResponseMessage;


    /**
     * 电话号码
     */
    private String phone;


    /**
     * 短信内容hash值
     */
    private String hashContent;

    /**
     *是否得到运营商通知  1已通知
     */
    private String isSynchro;

    /**
     * 短信阿里队列ID
     */
    private String messageId;

    /**
     * 短信平台返回短信ID
     */
    private String messagePlatformId;
    private Date beginDate;

    private Date endDate;

    /**
     * 是否验证Y/N   如果传入参数为N则跳过24小时内不允许重复发短信限制,即请求一次发一条
     */
    private String isValidate;

    /**
     * 内容长度
     */
    private Integer contentLength;

    /**
     * 消费短信条数
     */
    private Integer useSmsCount;

    /**
     * 交易单号
     */
    private String tradingNo;

    /**
     * 认证中心用户登录名
     */
    private String authCenterUserName;

    /**
     * 认证中心用户登录密码
     */
    private String authCenterPassword;

    /**
     * 交易备注
     */
    private String tradingRemark;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTenant() {
        return tenant;
    }

    public void setTenant(String tenant) {
        this.tenant = tenant;
    }

    public String getSendType() {
        return sendType;
    }

    public void setSendType(String sendType) {
        this.sendType = sendType;
    }

    public String getBizNo() {
        return bizNo;
    }

    public void setBizNo(String bizNo) {
        this.bizNo = bizNo;
    }

    public Integer getSupplierChannel() {
        return supplierChannel;
    }

    public void setSupplierChannel(Integer supplierChannel) {
        this.supplierChannel = supplierChannel;
    }

    public String getAppPlatform() {
        return appPlatform;
    }

    public void setAppPlatform(String appPlatform) {
        this.appPlatform = appPlatform;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public String getSupplierChannelName() {
        return supplierChannelName;
    }

    public void setSupplierChannelName(String supplierChannelName) {
        this.supplierChannelName = supplierChannelName;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getLastUpdateTime() {
        return lastUpdateTime;
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }

    public String getBizType() {
        return bizType;
    }

    public void setBizType(String bizType) {
        this.bizType = bizType;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getLoadStatus() {
        return loadStatus;
    }

    public void setLoadStatus(String loadStatus) {
        this.loadStatus = loadStatus;
    }

    public String getOutResponseCode() {
        return outResponseCode;
    }

    public void setOutResponseCode(String outResponseCode) {
        this.outResponseCode = outResponseCode;
    }

    public String getOutResponseMessage() {
        return outResponseMessage;
    }

    public void setOutResponseMessage(String outResponseMessage) {
        this.outResponseMessage = outResponseMessage;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getHashContent() {
        return hashContent;
    }

    public void setHashContent(String hashContent) {
        this.hashContent = hashContent;
    }

    public String getIsSynchro() {
        return isSynchro;
    }

    public void setIsSynchro(String isSynchro) {
        this.isSynchro = isSynchro;
    }

    public String getMessageId() {
        return messageId;
    }

    public void setMessageId(String messageId) {
        this.messageId = messageId;
    }

    public String getMessagePlatformId() {
        return messagePlatformId;
    }

    public void setMessagePlatformId(String messagePlatformId) {
        this.messagePlatformId = messagePlatformId;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getIsValidate() {
        return isValidate;
    }

    public void setIsValidate(String isValidate) {
        this.isValidate = isValidate;
    }

    public Integer getContentLength() {
        return contentLength;
    }

    public void setContentLength(Integer contentLength) {
        this.contentLength = contentLength;
    }

    public Integer getUseSmsCount() {
        return useSmsCount;
    }

    public void setUseSmsCount(Integer useSmsCount) {
        this.useSmsCount = useSmsCount;
    }

    public String getTradingNo() {
        return tradingNo;
    }

    public void setTradingNo(String tradingNo) {
        this.tradingNo = tradingNo;
    }

    public String getTradingRemark() {
        return tradingRemark;
    }

    public void setTradingRemark(String tradingRemark) {
        this.tradingRemark = tradingRemark;
    }

    public String getAuthCenterUserName() {
        return authCenterUserName;
    }

    public void setAuthCenterUserName(String authCenterUserName) {
        this.authCenterUserName = authCenterUserName;
    }

    public String getAuthCenterPassword() {
        return authCenterPassword;
    }

    public void setAuthCenterPassword(String authCenterPassword) {
        this.authCenterPassword = authCenterPassword;
    }
}